Deploying an application in a cloud computing environment traditionally includes a separation between application code development and cloud infrastructure configuration. For example, application code is written independently from the provisioning of cloud resources to execute the application code, without a mapping of the application code and the infrastructure code.
To this end, conventional systems and methods involve provisioning the cloud infrastructure based on customer demand with subsequent scaling changes to accommodate changes in the application code requirements and the customer requirements. Application developers and infrastructure provisioning systems operate in isolation resulting in a lack of coordination between the application deployment code and the infrastructure deployment code.
While embodiments are described herein by way of example for several embodiments and illustrative drawings, those skilled in the art will recognize that the embodiments are not limited to the embodiments or drawings described. It should be understood, that the drawings and detailed description thereto are not intended to limit embodiments to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope as defined by the appended claims. The headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description or the claims. As used throughout this application, the word “may” is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must). Similarly, the words “include,” “including,” and “includes” mean including, but not limited to.